using System.Collections.Generic;
using DataAccessLayer;

namespace Editor
{
    public interface IPresenterFacade
    {
        EditorStartData LoadApplicationData(string filename);

        IGameMenuPresenter GameMenuPresenter { get; }

        IGameLevelPresenter GameLevelPresenter { get; }

        IProtagonistPresenter ProtagonistPresenter { get; }

        IEnemyPresenter EnemyPresenter { get; }

        IMiniBossPresenter MinibossPresenter { get; }

        IBossPresenter BossPresenter { get; }

        IBulletPresenter BulletPresenter { get; }

        IWeaponPresenter WeaponPresenter { get; }

        IFighterPodPresenter FighterPodPresenter { get; }

        IShaderPresenter ShaderPresenter { get; }

        List<WeaponBase> GetWeapons();

        int CreateObjectId();

        void SaveGameFile(string curFilename);
    }
}